The present invention generally relates to information processing apparatuses such as printers, copiers, computers, and the like. More particularly, the present invention relates to an information processing apparatus that carries out at least one of reading and writing of data to and from a storage device in which the stored data is managed in the form of files.
A printer is a typical information processing apparatus. Conventionally, there is a printer that is equipped with a large capacity storage device such as a hard disk device. The hard disk device in such a printer is used as a memory device of various data, such as font data, form-overlay data, outline font data, and the like, that are downloaded from a host device to which the printer is connected. Further, the hard disk device is used as a spool buffer memory device that temporarily stores print data transmitted from the host device.
In a hard disk device, each of the data stored therein forms a file together with other data also present in the hard disk device, wherein a file is a unit of information that are integrally related to each other. Thus, access to the data in a hard disk device is achieved generally via file-related information which typically includes a file allocation table and directory information, wherein the file allocation table provides information about the location of individual data forming a file. The directory information on the other hand indicates the constitution of the file.
FIG. 1 shows the construction of a storage region of a conventional hard disk device used for printers.
Referring to FIG. 1, the storage region of the hard disk device is generally divided into a managing information area 22 and a data area 23, wherein the managing information area 22 stores therein hard disk information 24, directory information 25 and a file allocation table 26. Thereby, the directory information 25 and the file allocation table 26 form the file-related information as already noted.
The data area 23, in turn, is divided into a number of clusters 27, and writing as well as reading of data is achieved by using the cluster as a unit of read/write operation. In the case one cluster has a size of 4096 bytes, it should be noted that there exist 32768 clusters in a data area of 128 Mbytes.
The file allocation table 26, on the other hand, is used to indicate which of the clusters are used to store the data that forms a file and is commonly designated as "FAT" or "File Management Table." The directory information 25, in turn, includes information such as a file name, date of creation of the file, size of the file, designation of the first cluster that is used to store the data forming the file, and the like.
Conventionally, the directory information and the file allocation table are stored in a predetermined area on the hard disk device together with files, as indicated in FIG. 1.
Thus, reading of specific data has been made by a CPU of an information processing apparatus, which may be a printer, such that the CPU first accesses the directory information and the file allocation table on the hard disk device for acquiring the information about the location of the clusters of the hard disk region in which the target data is stored. The CPU then reads the target data from the clusters of the hard disk region thus identified.
When writing data, on the other hand, the CPU first accesses the directory information and the file allocation table on the hard disk device in search of unused or vacant hard disk region and then writes the data into the unused hard disk region thus found. Further, the CPU updates the directory information and the file allocation table so as to ensure that the change that has occurred as a result of the storage of the data into the unused hard region of the hard disk device, is properly recorded.
As will be understood from the explanation above, the process of referring to or updating the file-related information, such as the directory information and the file allocation table, occurs inevitably, whenever an access is made to a file in a hard disk drive whether the access may be a reading of data or a writing of data.
However, a hard disk drive, while having various features of large storage capacity, low cost per byte, non-volatile nature of data retention, and the like, which are distinctively advantageous over semiconductor memories such as a DRAM (dynamic random access memory) or an SRAM (static random access memory), has a serious drawback in that the access time is substantially larger than that of a DRAM or an SRAM. More specifically, a typical hard disk device has an average access time of 20 .mu.sec per byte, while this value is about 100 times as large as the access time of a semiconductor memory device. A typical DRAM has an average access time of 0.2 .mu.sec per byte.
Thus, in conventional information processing apparatuses such as a printer, there has been a problem that a long time is needed for processing the data stored in a hard disk device in the form of files, due to the long access time of the hard disk device as compared with semiconductor RAMs. As noted above, this problem of the long access time arises due to the operation of referring to or updating the file-related information stored in the hard disk device wherein such an accessing to the file-related information occurs whenever an access is made to a file in the hard disk device for reading or writing.